package com.chenke.auth.application.controller;

import cn.dev33.satoken.stp.SaTokenInfo;
import cn.dev33.satoken.stp.StpUtil;
import cn.dev33.satoken.util.SaResult;
import com.alibaba.fastjson.JSON;
import com.chenke.auth.application.convert.AuthUserDTOConverter;
import com.chenke.auth.domain.entity.AuthUserBO;
import com.chenke.auth.domain.service.AuthUserDomainService;
import com.chenke.auth.entity.AuthUserDTO;
import com.chenke.auth.entity.Result;
import com.google.common.base.Preconditions;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;

@RestController
@RequestMapping("/userTest/")
@Slf4j
public class SaTokenController {




    // pc网页登录 必须有cookie
    // 测试登录，浏览器访问： http://localhost:3011/user/doLogin?username=zhang&password=123456
    @RequestMapping("doLogin")
    public String doLogin(String username, String password) {
        // 此处仅作模拟示例，真实项目需要从数据库中查询数据进行比对
        if ("zhang".equals(username) && "123456".equals(password)) {
            StpUtil.login(10001);
            return "登录成功";
        }
        return "登录失败";
    }

    // 查询登录状态，浏览器访问： http://localhost:3011/user/isLogin
    // 登陆后cookie会带上 token=168ae71f-827c-402d-98a0-e17cb087dadc
    // 要支持cookie
    @RequestMapping("isLogin")
    public String isLogin() {
        StpUtil.checkRole("admin");
        return "当前会话是否登录：" + StpUtil.isLogin();
    }



}
